草庐IT

PHP in_array 通配符匹配

全部标签

ruby-on-rails - 如何将重音字符与正则表达式匹配?

我正在运行RubyonRails3.0.10和Ruby1.9.2。我正在使用以下正则表达式来匹配名称:NAME_REGEX=/^[\w\s'"\-_&@!?()\[\]-]*$/uvalidates:name,:presence=>true,:format=>{:with=>NAME_REGEX,:message=>"formatisinvalid"}但是,如果我尝试保存如下的一些单词:OilalàPìRùby...#Infewwords,thosewithaccentedcharacters我有一个验证错误“名称格式无效。。我如何更改上面的正则表达式以便匹配重音字符,如à、è、é、ì

Ruby 匹配第一次出现的字符串以进行 gsub 替换

我有一个字符串让我们说http://someUrul.com/someController/SOmeAction?SomeQS=http://someOtherUrl我想用https替换第一个http,但不是第二个,所以我最终得到https://someUrul.com/someController/SOmeAction?SomeQS=http://someOtherUrl如何使用简单的gsub完成此操作?以下内容替换了两者。request.url.gsub(/http:/,"https:") 最佳答案 使用sub,不是gsub.g

ruby - 从数组中删除匹配元素的第一个实例

假设我有数组[1,2,3,1,2,3]并且我想从给出[1,3,1,2,3]的数组。什么是最简单的方法? 最佳答案 li.delete_at(li.index(n)||li.length)li[li.length]超出范围,所以||li.length处理n不在列表中的情况。irb(main):001:0>li=[1,2,3,1,2,3]=>[1,2,3,1,2,3]irb(main):002:0>li.delete_at(li.index(2)||li.length)=>2irb(main):003:0>li.delete_at(li

arrays - 如何使用 Ruby 2.3 中引入的 Array#dig 和 Hash#dig?

Ruby2.3在Array和Hash上引入了一种新方法,称为dig。我在有关新版本的博客文章中看到的示例是做作和令人费解的:#Hash#diguser={user:{address:{street1:'123Mainstreet'}}}user.dig(:user,:address,:street1)#=>'123Mainstreet'#Array#digresults=[[[1,2,3]]]results.dig(0,0,0)#=>1我没有使用三层嵌套平面数组。什么是这将如何有用的现实示例?更新事实证明,这些方法解决了最常见的Ruby问题之一。下面的问题大约有20个重复项,所有这些问

arrays - 更改 .each 循环中引用的数组元素的值?

如何实现以下操作:我想更改在.each循环中的管道字符之间引用的数组元素的值。这是我想做的,但目前没有工作的例子:x=%w(hellothereworld)x.each{|element|if(element=="hello"){element="hi"#change"hello"to"hi"}}putsx#output:[hithereworld]很难找到如此笼统的东西。 最佳答案 您可以使用collect!或map!就地修改数组来获得您想要的结果:x=%w(hellothereworld)x.collect!{|element|

ruby - 什么是匹配不在行尾的字符串的正则表达式?

正则表达式/abc$/将匹配出现在行尾的abc。我该怎么做?我想匹配不在行尾的abc。此外,我将使用正则表达式来替换字符串,所以我只想捕获abc,而不是字符串后面的任何内容,所以/abc.+$/不起作用,因为它不仅会替换abc,还会替换abc之后的所有内容。正确的正则表达式是什么? 最佳答案 /abc(?!$)/(?!$)是一个negativelookahead.它将查找abc的任何匹配项,但后面没有直接跟$(行尾)测试abcddee(匹配)dddeeeabc(不匹配)adfassdfabcs(匹配)fabcddee(匹配)将它应用

ruby - 是否有等效于 `Array::sample` 的哈希值?

我想从哈希中提取n个随机键值对。 最佳答案 Hash[original_hash.to_a.sample(n)]对于Ruby2.1,original_hash.to_a.sample(n).to_h 关于ruby-是否有等效于`Array::sample`的哈希值?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/15454632/

ruby - 如何将参数传递给 array.map 快捷方式?

这个问题在这里已经有了答案:Canyousupplyargumentstothemap(&:method)syntaxinRuby?(9个回答)关闭8年前。给定以下数组a:a=[1,2,3,4,5]我该怎么做:a.map{|num|num+1}使用简称:a.map(&:+1)或:a.map(&:+2)参数1和2在哪里?

ruby - 如何获取字符串中所有出现的 Ruby 正则表达式的匹配数据?

对于字符串中正则表达式的每次出现,我都需要MatchData。这与MatchAllOccurrencesofaRegex中建议的扫描方法不同,因为这只会给我一个字符串数组(我需要完整的MatchData,以获取开始和结束信息等)。input="abc12def34ghijklmno567pqrs"numbers=/\d+/numbers.matchinput##(onlythefirstmatch)input.scannumbers#["12","34","567"](allmatches,butonlythestrings)我怀疑我忽略了某些方法。有什么建议吗?

arrays - 在 Ruby 中获取数组的差异

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:diffarubystringorarray我有一个旧数组:[1,2,3,4,5],和一个新数组:[1,2,4,6]如何区分Ruby:删除了5、3并添加了6?